package com.evolved.automata.experimental;
import java.util.*;
import com.evolved.automata.*;

// TODO: 
public interface SensoryMotorDataProvider {
	public int[] GetSensoryData();
	public double[] GetBaseSensoryInferentialFreedom();
	public double[] GetBaseClusterRangeFraction();
	public LinkedList<WeightedValue<Integer>> GetActionOptions();
	public void ApplyAction(int[] action);
	public void ApplyAction(int canonicalAction);
	public void Start();
	public void Stop();
	public int GetMaxLifeSpan();
	public int GetLifeStepSize();
	public int GetCriticalNegUtilityThreshold();
	public String GetTypeName();
	public LinkedList<WeightedValue<Integer>> GetPriorActionTendencies();
	public int[] GetActionBaseRadii();
	public int[] GetStateBaseRadii();
	public int[] GetInitializationActions();
	public int[] ExpandAction(int actionId);
}
